In recent years, working on promoting international standardization of a highly efficient coding scheme as a successor to H.264/MPEG-4 Part 10 Advanced Video Coding (H.264/MPEG-4 AVC, hereinafter, called H.264) has been started. Owing to this, Joint Collaborative Team on Video Coding (JCT-VC) has been established between International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) and International Telecommunication Union Telecommunication Standardization Sector (ITU-T). JCT-VC advances standardization of High Efficiency Video Coding scheme (hereinafter, called HEVC).
For standardization of HEVC, various coding tools have been developed, and high coding efficiencies have been provided. In particular, HEVC provides coding on the large block basis, such as a block of 32×32 pixels, as compared with conventional H.264. Hence, HEVC can markedly improve the coding efficiency. In HEVC, the number of modes for intra-prediction is increased, and further highly efficient coding can be performed. For reference pixels of the intra-prediction, to improve the coding efficiency, three-tap filter processing may be performed on the reference pixels, as reference-pixel correction processing, in accordance with the prediction mode.
However, since the size of processing block is large, a new problem arises in which propagation of a noise such as contouring may become noticeable in a flat portion of an intra-coding frame. To address this problem, reference-pixel linear-interpolation processing in which coding is performed on a unit of large block such as a 32×32 block has been proposed (See NPL 1). That is, if coded or decoded neighboring luminance pixel values of a block being coded does not have a large gap in pixel values, linear-interpolation processing is performed as the reference-pixel correction processing to obtain a smooth monotone gradient. Accordingly, the block being coded is predicted with reference to the pixel value with the monotone gradient. The linear-interpolation processing is described in detail in NPL 1. Referring to NPL 1, a change in pixel value is judged by using 1×65 pixels in an upper portion and 65×1 pixels in a left portion of the 32×32 block of the luminance signal. If a rapid change is not present as the result of judgment, pixel values at both ends of 1×65 pixels or both ends of 65×1 pixels are used, weighted average values are calculated in accordance with the distance between the pixel values, and the calculated values serves as pixel values of 63 pixels inbetween. With this linear-interpolation processing, the luminance decoded pixel values have a smooth gradient, and a noise such as contouring can be reduced.
Referring to NPL 2, the reference-pixel linear-interpolation processing is applied only to the luminance signal. Also, a condition, in which the block size of the luminance signal is 32×32 or larger, is added to the criterion for application of the reference-pixel linear-interpolation processing. At this time, a block with a smooth gradient is reproduced by the reference-pixel linear-interpolation processing for the luminance; however, a noise such as contouring remains in chrominance. Hence, degradation in image quality occurs. Also, Main profile defined in NPL 1 supports an image with luminance and chrominance signals being 4:2:0. Hence, in case of expansion to 4:4:4 or the like, the luminance and chrominance signals have the same block size. However, since the processing is applied only to the luminance, a noise such as contouring may become noticeable. Further, with H.264, in addition to the combination of luminance and chrominance signals, three primary colors of red, green, blue (RGB) may be used as appropriate signals and may be coded. When a similar function is provided by HEVC, the reference-pixel linear-interpolation processing is performed on only one of the three primary colors. Hence, the processed color does not match other two colors. Also, in case of 4:2:2, the chrominance signal may form a rectangular block, and hence the reference-pixel linear-interpolation processing may not be performed since the processing only supports a square.